<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
  <title>Description of Contents</title>
  <meta name="keywords" content="Contents">
  <meta name="description" content="GEOM3D Geometry 3D Toolbox">
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
  <meta name="robots" content="index, follow">
  <link type="text/css" rel="stylesheet" href="../../m2html.css">
</head>
<body>
<a name="_top"></a>
<div><a href="../../index.html">Home</a> &gt;  <a href="#">imael</a> &gt; <a href="#">geom3d</a> &gt; Contents.m</div>

<!--<table width="100%"><tr><td align="left"><a href="../../index.html"><img alt="<" border="0" src="../../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for .\imael\geom3d&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->

<h1>Contents
</h1>

<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="box"><strong>GEOM3D Geometry 3D Toolbox</strong></div>

<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="box"><strong>This is a script file. </strong></div>

<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="fragment"><pre class="comment"> GEOM3D Geometry 3D Toolbox
 Version 0.1 04-Mar-2005 .

   Creation, transformations, algorithms and visualization of geometrical
   3D primitives, such as points, lines, planes, polyhedra, circles and
   spheres.
   
   Angles are defined as follow :
   THETA is the colatitude, the angle with the Oz axis
   PHI is the angle of the projection on horizontal plane with the Ox axis
   PSI is the 'roll', i.e. the rotation around the (THETA, PHI) direction

   Base format for primitives :
   Point:  [x0 y0 z0]
   Vector: [dx dy dz]
   Line:   [x0 y0 z0 dx dy dz]
   Edge:   [x1 y1 z1 x2 y2 z2]
   Plane:  [x0 y0 z0 dx1 dy1 dz1 dx2 dy2 dz2]
   Sphere: [x0 y0 z0 R]
   Circle: [x0 y0 z0 R PHI THETA PSI] (origin+center+normal+'roll').
   
   Polygon: array of points, the last point is not necessarily the same as
       the first one. Points must be coplanar.

   Polyedron: {N, F}, with:
       N = [x1 y1 z1; ... ;xn yn zn];
       F is either a [Nf*3] or [Nf*4] array containing reference for
          vertices of each face, or a [Nf*1] cell array, where each cell
          is an array containing a variable number of node indices.

   Box: [xmin xmax ymin ymax zmin zmax]. Used for clipping shapes.

 3D Points
   points3d                   - description of functions operating on 3D points
   isCoplanar                 - Tests input points for coplanarity in 3-space.
   transformPoint3d           - transform a point with a 3D affine transform
   distancePoints3d           - compute euclidean distance between 3D Points
   clipPoints3d               - clip a set of points by a box

 3D Vectors
   vectors3d                  - description of functions operating on 3D vectors
   transformVector3d          - transform a vector with a 3D affine transform
   normalizeVector3d          - normalize a 3D vector
   vectorNorm3d               - compute norm of vector or of set of 3D vectors
   isParallel3d               - check parallelism of two vectors
   isPerpendicular3d          - check orthogonality of two vectors

 Angles
   angles3d                   - conventions for manipulating angles in 3D
   anglePoints3d              - compute angle between 2 3D points
   sphericalAngle             - compute angle on the sphere
   angleSort3d                - sort 3D coplanar points according to their angles in plane
   randomAngle3d              - return a 3D angle uniformly distributed on unit sphere

 Coordinate transforms
   sph2cart2                  - convert spherical coordinate to cartesian coordinate
   cart2sph2                  - convert cartesian 2 spherical coordinate
   cart2cyl                   - Convert cartesian to cylindrical coordinates
   cyl2cart                   - Convert cylindrical to cartesian coordinates

 3D Lines and Edges:
   lines3d                    - description of functions operating on 3D lines
   createLine3d               - create a line with various inputs.
   transformLine3d            - transform a 3D line with a 3D affine transform
   clipLine3d                 - clip a line with a box and return an edge
   distancePointLine3d        - compute euclidean distance between 3D point and line
   linePosition3d             - return position of a 3D point on a 3D line

 Planes:
   planes3d                   - description of functions operating on 3D planes
   medianPlane                - create a plane in the middle of 2 points
   createPlane                - create a plane in parametrized form
   normalizePlane             - normalize parametric form of a plane
   intersectPlanes            - return intersection between 2 planes in space
   projPointOnPlane           - return the projection of a point on a plane
   isBelowPlane               - test whether a point is below or above a plane
   intersectLinePlane         - return intersection between a plane and a line
   intersectEdgePlane         - return intersection between a plane and a edge
   distancePointPlane         - compute euclidean distance betwen 3D point and plane
   planeNormal                - compute the normal to a plane
   planePosition              - compute position of a point on a plane
   planePoint                 - compute 3D position of a point in a plane
   dihedralAngle              - compute dihedral angle between 2 planes

 3D Polygons:
   polygons3d                 - description of functions operating on 3D polygons
   polygonCentroid3d          - compute centroid (center of mass) of a polygon
   polygon3dNormalAngle       - compute normal angle at a vertex of the 3D polygon
   clipConvexPolygon3dHP      - clip a convex 3D polygon with Half-space

 Polyhedra:
   polyhedra                  - description of functions operating on 3D polyhedra
   polyhedronSlice            - intersect a convex polyhedron with a plane.
   minConvexHull              - return the unique minimal convex hull in 3D
   triangulateFaces           - convert face array to an array of triangular faces 
   meshReduce                 - return mesh with minimal number of faces
   steinerPolytope            - Create a steiner polytope from a set of vectors
   faceCentroids              - compute centoids of faces of a polyhedron
   faceNormal                 - compute normal vector of a polyhedron face
   polyhedronNormalAngle      - compute normal angle at a vertex of a 3D polyhedron
   clipConvexPolyhedronHP     - clip a convex polyhedron by a plane

 Typical polyhedra:
   createCube                 - create a 3D cube
   createCubeOctahedron       - create a cube-octahedron
   createIcosahedron          - create an Icosahedron.
   createOctahedron           - create an octahedron
   createRhombododecahedron   - create a 3D rhombododecahedron
   createTetrahedron          - create a tetrahedron  with 4 vertices and faces
   createTetrakaidecahedron   - create a tetrakaidecahedron
   createSoccerBall           - return a soccerball as a polyhedra
   createMengerSponge         - create a cube with an inside cross removed

 Other shapes:
   circles3d                  - description of functions operating on 3D lines
   circle3dPosition           - return the angular position of a point on a 3D circle
   circle3dOrigin             - return the first point of a 3D circle
   spheres                    - description of functions operating on 3D spheres
   createSphere               - create a sphere containing 4 points
   intersectLineSphere        - return intersection between a line and a sphere
   intersectLineCylinder      - compute intersection between a line and a cylinder
   intersectPlaneSphere       - return intersection between a plane and a sphere
   revolutionSurface          - create a surface of revolution from a planar curve
   surfaceCurvature           - compute curvature on a surface in a given direction 

 Geometric transforms:
   transforms3d               - Conventions for manipulating 3D affine transforms
   createTranslation3d        - return 4x4 matrix of a 3D translation
   createScaling3d            - createScaling3d return 4x4 matrix of a 3D scaling
   createRotationOx           - return 4x4 matrix of a rotation around x-axis
   createRotationOy           - return 4x4 matrix of a rotation around y-axis
   createRotationOz           - return 4x4 matrix of a rotation around z-axis
   localToGlobal3d            - create transform from a vector and 3 rotation angles
   composeTransforms3d        - concatenate several space transformations

 Drawing Functions :
   drawCircle3d               - draw a 3D circle
   drawCircleArc3d            - draw a 3D circle arc
   drawCurve3d                - draw a 3D curve specified by a list of points
   drawCylinder               - draw a cylinder
   drawEdge3d                 - draw the edge in the current Window
   drawLine3d                 - draw the line in the current Window
   drawPlane3d                - draw a plane clipped in the current window
   drawPoint3d                - draw 3D point on the current axis.
   drawPolyhedron             - draw polyhedron defined by vertices and faces
   drawSphere                 - draw a sphere as a mesh
   drawSphericalTriangle      - draw a triangle on a sphere
   drawSurfPatch              - draw surface patch, with 2 parametrized surfaces
   drawGrid3d                 - draw a grid in 3 dimensions
   fillPolygon3d              - fill a 3D polygon specified by a list of points
   drawAxis3d                 - draw a coordinate system and an origin


   Credits:
   * function isCoplanar was originally written by Brett Shoelson.
   * Songbai Ji enhanced file intersectPlaneLine (6/23/2006).

 ------
 Author: David Legland
 e-mail: david.legland@grignon.inra.fr
 http://www.pfl-cepia.inra.fr/index.php?page=geom3d
 Created: 2005-11-07
 Copyright 2005 INRA - CEPIA Nantes - MIAJ (Jouy-en-Josas).
 Licensed under the terms of the BSD License, see the file license.txt</pre></div>

<!-- crossreference -->
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
This function calls:
<ul style="list-style-image:url(../../matlabicon.gif)">
</ul>
This function is called by:
<ul style="list-style-image:url(../../matlabicon.gif)">
</ul>
<!-- crossreference -->



<hr><address>Generated on Fri 05-Feb-2010 11:20:41 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
</body>
</html>